1. Field of the Invention
The present invention relates to information processing apparatuses, information processing methods, and computer programs. More specifically, the present invention relates to an information processing apparatus, an information processing method, and a computer program for executing processing for providing data received by a tuner to clients connected to a network.
2. Description of the Related Art
With the recent spread of data communication networks, a so-called home network is becoming increasingly used. A home network allows in-home network connection and communication between household electrical appliances, computers, and their peripherals. Through communication between such devices connected to the home network, data processing functions of the devices can be shared among them. A home network provides users with convenience and comfort by enabling transmission of content and the like between devices connected to the network, and is expected to be more and more widespread.
With such a home network, it is possible to deliver broadcast data received by a tuner to network-connected devices, such as personal computers (PCs) and displays, via the home network, and reproduce the broadcast data on a device located in a place different from the place where the tuner is located.
Today, a majority of audiovisual (AV) content, including broadcast content, is digitized and offered. Since digitized content is relatively vulnerable to unauthorized manipulations, such as unauthorized copying and tampering, it is necessary to take measures against unauthorized use of such content while allowing private or domestic use of the content. In response to this, various techniques have been developed for protecting copyright of digital content. For example, as an industry standard for protection of digitally transmitted content, there is a standard called Digital Transmission Content Protection (DTCP) developed by the Digital Transmission Licensing Administrator (DTLA). DTCP defines mechanisms for transmitting content in a copyright-protected form (see, e.g., Digital Transmission Content Protection Specification Volume 1 (Informational Version), Revision 1.4 (http://www.dtcp.com).
DTCP defines an authentication protocol for transmission of content between devices and a transmission protocol for transmission of encrypted content. In summary, DTCP specifies that a DTCP-compliant device should not send easily manageable compressed content (e.g., Moving Picture Experts Group (MPEG) content) outside the device in an unencrypted form; key exchange necessary for decryption of encrypted content should be performed according to a predetermined Authentication and Key Exchange (AKE) algorithm; and the range of devices between which key exchange is performed using AKE commands should be limited.
After an authentication procedure which involves sending and receiving of AKE commands, a server (DTCP Source or content provider) and a client (DTCP Sink or content receiver) share a key. A transmission line is encrypted with the key and thus, transmission of content is performed. Since every client needs to be successfully authenticated by the server to obtain an encryption key, an unauthorized client cannot receive the content. At the same time, by limiting the number and range of devices that can send and receive AKE commands, use of the content can be limited to what copyright laws call “private or domestic use”.
DTCP originally defines transmission of digital content over a home network in which an Institute of Electrical and Electronics Engineers (IEEE) 1394 bus or the like is used as a transmission line. However, recently, as represented by the establishment of the Digital Living Network Alliance (DLNA), there has been a growing move toward in-home distribution of digital AV content via an Internet Protocol (IP) network. Accordingly, there is proposed DTCP technology applicable to IP networks, that is, the DTCP over IP (DTCP-IP) standard which realizes DTCP-compliant content distribution by using IP packets. Devices compliant with this DTCP-IP standard will be the next mainstream of home network devices.
Since most home networks are connected via routers to an external IP network, such as the Internet, it is often pointed out that content transmitted over such a network is at risk of unauthorized copying and tampering. Under such circumstances, the establishment of DTCP-IP technology allows flexible and efficient use of digital content over an IP network while protecting the content.
Basically, DTCP-IP is included in the DTCP standard and established by porting DTCP technology to an IP network. DTCP-IP specifies that an IP network is to be used as a transmission line. DTCP-IP also specifies a protocol to be used for transmission of encrypted content. Since various devices, such as PCs, are connected to the IP network, there are high risks of interception and tampering of data. Therefore, DTCP-IP provides detailed specifications for transmitting content over the network while protecting the content (see, e.g., DTCP Volume 1 Supplement E Mapping DTCP to IP (Informational Version), Revision 1.1 (http://www.dtcp.com)).
Content transmission compliant with DTCP-IP will now be described. Here, content transmission based on the HyperText Transfer Protocol (HTTP) is performed between a DTCP_Source device and a DTCP_Sink device, which are both DTCP-IP compliant. For example, the DTCP_Source device is a server which provides content, while the DTCP_Sink device is a client which receives the content from the server. The DTCP_Source device and the DTCP_Sink device perform encryption communication therebetween while changing a content key in the middle of transmission of a long byte stream, such as a transmission control protocol (TCP) stream. Additionally, confirmation of the content key is made before decryption of encrypted content and implementation of other kinds of content processing. At every step of the procedure which involves AKE, content transmission, and content key confirmation, a TCP connection is established between the DTCP_Source device and the DTCP_Sink device.
More specifically, if the AKE procedure is successful, the DTCP_Source device and the DTCP_Sink device can share an authentication key Kauth. The DTCP_Source device and the DTCP_Sink device individually perform similar internal processing to generate a seed key Kx, which is a seed of a content key, from the authentication key Kauth. The DTCP_Source device generates a nonce Nc using random numbers, further generates a content key Kc on the basis of the seed key Kx and the nonce Nc, encrypts content requested by the DTCP_Sink device with the content key Kc, and sends a packet including the encrypted content and the nonce Nc to the DTCP_Sink device over a TCP stream. The DTCP_Sink device extracts the nonce Nc from the received TCP stream, calculates the content key Kc using the extracted nonce Nc and the seed key Kx determined from the authentication key Kauth, and thus can decrypt the encrypted content.
As described above, DTCP-IP provides a content transmission method in which authentication is performed between DTCP-compliant devices, a key is shared between the DTCP-compliant devices upon completion of the DTCP authentication, content to be transmitted is encrypted, and the encrypted and transmitted content is decrypted. Thus, this content transmission method can prevent the content from being intercepted or tampered in the middle of the transmission line, and can ensure security of the content even over an IP network.
For example, when content is requested according to an HTTP procedure, a DTCP_Source device serves as an HTTP server and a DTCP_Sink device serves as an HTTP client. The HTTP client creates a TCP/IP connection for HTTP and thus, transmission of the content is started. The HTTP client requests the content from the HTTP server according to an operation procedure similar to a typical HTTP procedure. The HTTP server returns the requested content as a response to the HTTP client. Specifically, the HTTP server encrypts the content requested by the HTTP client with a content key Kc and sends a packet (Protected Content Packet (PCP), see, e.g., Japanese Unexamined Patent Application Publication No. 2000-287192) including a payload constituted by the encrypted content and a header containing a nonce Nc over a TCP stream.
For example, in a home network to which clients and a network tuner capable of receiving broadcast content and providing the clients with the received content are connected, the network tuner that delivers broadcast data needs to respond to an operation request from a client as quickly as possible. However, using TCP as a communication protocol may cause a significant delay in response, although reliable delivery of data to a client can be ensured.
That is, to ensure integrity of communication data in data transmission based on TCP, if there is data that cannot be received by a client, the client requests retransmission of the data from the server, which then retransmits the data in response to the request.
Specifically, assume that a five-second communication failure occurs when data delivered by the network tuner is being reproduced by the client. In processing performed according to TCP, when the communication is restored, data transmission is resumed from a picture present immediately before the occurrence of the failure (i.e., picture of five seconds ago). This means that the client starts reproduction at a picture of five seconds ago. From then on, data transmission continues with a five-second delay maintained.
When such data transmission takes place, even if a user on the client side sends a channel change request to the network tuner, the user will not be able to view a picture on the changed channel until a lapse of at least five seconds, since a delay of five seconds is maintained. This will be seen by the user as degradation in the speed of response to operations and will cause a processing delay in response to user requests.